// プレーヤ用 API をユーチューブ動画サイトから読み込む

    var tag = document.createElement('script'); 
    tag.src = "http://www.youtube.com/player_api"
    var firstScriptTag = document.getElementsByTagName('script')[0]; 
    firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

    // 仮の埋め込み処理する動画のコード

    var video = 'T_t9B87xUBo';

    // 埋め込み処理する再生リストのコード

    var video_list = 'PLL88QzNiFV4hAhyykCQK5M6E6epCrAgd1';

    // メインパネルのサイズ

    var player_h = '450';
    var player_w = '780';

    // サブパネルのサイズ

    var player_h2 = '215';
    var player_w2 = '380';

    // 再生リストの動画数と処理をコントロールするフラグ

    var nos = 0
    var no = 0
    var done = false
    var done1 = false
    var done2 = false
    var player;

    // 仮の動画をメインパネルに埋め込む処理
    // ここで直接再生リストを埋め込む処理は実現できない
    
    function onYouTubePlayerAPIReady() { 
        player = new YT.Player('player1', {
          height: player_h,
          width: player_w,
          videoId: video,
        playerVars: {
           autoplay: 0,
           controls: 0,
           loop: 0,
           rel: 0,
           showinf: 0,
           wmode: 'transparent'
        },
          events: { 
            'onReady': onPlayerReady, 
            'onStateChange': onPlayerStateChange 
          } 
        });
    }

    // パネルの埋め込み処理が終了したら呼び出される

    function onPlayerReady( evt ) {
        if ( ! done1 ) $( '#message1' ).text( '準備完了!' );
        if ( ! done1 && ! done2 ) loadplaylist( evt );
        done1 = true;
    }

    // パネルの動作状態が変化したときに呼び出される

    function onPlayerStateChange( evt ) { 

        if ( evt.data == YT.PlayerState.PLAYING && !done ) {
            setTimeout( stopVideo, 6000 ); 
            done = true;
        }

        if ( evt.data == YT.PlayerState.ENDED && done1 ) {
            // player.playVideo( );
        }

        if ( evt.data == YT.PlayerState.BUFFERING && done2 ) {
            // alert( 'play list nos ( 1 ) : ' + nos );
            var val = true;
            player.setLoop( val );
            list_n = new Array( );
            // alert( 'play list nos ( 2 ) : ' + nos );
            list_n = player.getPlaylist( );
            // alert( 'play list nos ( 3 ) : ' + nos );
            nos = list_n.length;
            var nos1 = nos + 1;
            // alert( 'play list nos ( 4 ) : ' + nos );
            $( '#message1' ).text( '準備完了! ' + '再生リストの動画数は 【 ' + nos1 + '  】 ' );
            player.stopVideo( );
            $( '#message2' ).text( '再生リスト 解体開始 !' );
            setpanellist( nos1, list_n );
        }

        if ( evt.data == YT.PlayerState.PLAYING && done2 ) {
            // alert( 'play list nos ( 3 ) : ' + nos );
            var n = player.getPlaylistIndex( );
            no = n;
            var n1 = no + 1;
            var nos1 = nos + 1;
            // alert( 'play list nos ( 4 ) : ' + nos );
            $( '#message1' ).text( '再生中!' + ' 動画番号 【 ' + n1 + ' / ' + nos1 + '  】 ' );
        }

    }

    // 再生リストの個別動画をサブパネルに埋め込む処理のメイン
    // 動画の個数分、処理を反復する。
    // サブパネルの最大個数を超えると処理を終了する。

    function setpanellist( nos1, list_n ) {
        var i = 0;
        var num = 'player';
        var num1 = '';
        for ( i = 1; i <= nos1; i++ ) {
            if ( i > 10 ) break;
            num1 = '';
            num1 = '0' + i;
            if ( i > 9 ) num1 = i;
            var num2 = num + num1;
            $( '#message2' ).text( '再生リスト 解体処理中 !' + ' パネル番号 : ' + num2 );
            setpanelvideo( num2, list_n[ i - 1 ] );
        }
    }

    // 再生リストの個別動画をサブパネル毎に埋め込む処理

    function setpanelvideo( num, video_code ) {
        player = new YT.Player( num, {
          height: player_h2,
          width: player_w2,
          videoId: video_code,
        playerVars: {
           autoplay: 0,
           controls: 0,
           loop: 0,
           rel: 0,
           showinf: 0,
           wmode: 'transparent'
        },
          events: { 
            'onReady': onPlayerReady, 
            'onStateChange': onPlayerStateChange 
          } 
        });
    }

    function stopVideo() {
          // player.stopVideo( );
    }

    // 再生リストの埋め込み処理

    function loadplaylist( evt )
     {
        if ( ! done2 ) evt.target.loadPlaylist( 
                                        {    list: video_list,
                                            listType: 'playlist',
                                            index: 0,
                                            StartSeconds: 0,
                                            suggestedQuality: 'default'
                                        }
         );
        done2 = true;
     };